Method for discovery and routing within mobile ad-hoc networks

ABSTRACT

A device scans its range for newly-discovered devices in a mobile ad-hoc network. Upon detecting a newly-discovered device, the two devices arbitrate how to synchronize their internal clocks. The devices then re-synchronize on schedule to enable data transmission. The devices may dynamically rearbitrate synchronization. The network as a whole is an emergent property of the peer-to-peer relationships between pairs of devices.

RELATED APPLICATION DATA

This application is related to U.S. patent application Ser. No.09/773,682, titled “ENABLING RESTRICTED COMMUNICATIONS BETWEEN APLURALITY OF USERS”, filed Jan. 31, 2001, and to U.S. patent applicationSer. No. 09/930,779, titled “METHOD FOR DISCOVERY AND ROUTING USINGBUDDY LISTS IN MOBILE AD-HOC NETWORKS”, filed Aug. 15, 2001, and to U.S.patent application Ser. No. 09/948,300, titled “METHOD FOR RESTRICTEDCOMMUNICATIONS USING BUDDY LISTS IN MOBILE AD-HOC NETWORKS”, filed Sep.6, 2001, and to U.S. patent application Ser. No. 09/948,270, titled“METHOD FOR DISCOVERY AND ROUTING USING ATTRIBUTES IN MOBILE AD-HOCNETWORKS”, filed Sep. 6, 2001, and to U.S. patent application Ser. No.10/035,463, titled “METHOD FOR DISCOVERY AND ROUTING USING A PRIORIKNOWLEDGE IN THE FORM OF APPLICATION PROGRAMME WITHIN MOBILE AD-HOCNETWORKS”, filed Oct. 18, 2001.

FIELD OF THE INVENTION

This invention pertains to mobile ad-hoc networks, and more particularlyto communication within a mobile ad-hoc network.

BACKGROUND OF THE INVENTION

The ability to communicate with others has always been an importantfunction for people. First the telegraph, and then the telephonerevolutionized communication, by making communication at a distancepossible. The cellular telephone marked a further turning point incommunication, as people were no longer tied to a phone with a fixedphysical location. And the more recent Bluetooth standard (Specificationof the Bluetooth System, Version 1.1, Feb. 22, 2001) and 802.11astandard (IEEE Standard 802.11a-1999, available on the Institute ofElectrical and Electronics Engineers web site,http://standards.ieee.org/reading/ieee/std/lanman/802.11a-1999.pdf)describe how wireless communication may be achieved using mobiledevices.

Where mobile devices attempt to intercommunicate, a mobile ad-hocnetwork (MANET) is set up. In contrast to the typically-envisionedcomputer network, a MANET does not consist of separate servers andclients. Instead, each mobile device acts as both client and server.That is, each mobile device is responsible for not only sending messageson its own, but also for routing messages. Further, each mobile deviceneeds to be able to route messages sent by a different device, and boundfor a different destination.

FIG. 1A shows a scattering of mobile ad-hoc network devices 105. In FIG.1A, a number of mobile devices are scattered around a location. Thelocation may be a mall, sporting arena, city, or any other type oflocation, without any limit. In the discussion below, for simplicity ofdescription each person using a mobile device will be described as ableto communicate with other persons, although in truth it is the mobiledevices that communicate with each other. For example, although thedescription below may talk about Aaron 110 communicating with Beth 125,it is really Aaron's device that communicates with Beth's device.

Each mobile device has a limited range: for example, Aaron's device 110has a range 115 shown as a dashed circle. Thus, not every other mobiledevice has a direct line of communication with every other device. Forexample, Beth 125 is within direct communications range of Aaron 110,but Charlie 130 is not within direct communications range of Aaron 110.

The intuitive approach for managing a MANET is to have each device beaware of all other devices in the MANET. FIG. 1B shows a mobile ad-hocnetwork 195 established among the mobile ad-hoc network devices of FIG.1A. As may be seen in FIG. 1B, Aaron 110 may communicate directly withBeth 125, Elizabeth 140, Harry 155, and Isis 160, but may notcommunicate directly with Charlie 130 or David 135. Nevertheless, Aaron110 may communicate with Charlie 130 or David 135 through Beth 125 orIsis 160, respectively.

Even if a person is in the MANET, he may not be reachable. For example,consider Oscar 190. Even if Oscar's device is active within the network,given Oscar's location, Oscar 190 may communicate with other devices inthe MANET only through Mark 180. If Mark 180 leaves the network (e.g.,by turning off his device), Oscar 190 may neither send nor receivemessages from anyone else in the MANET.

The intuitive approach to managing a MANET imposes global limitations onthe MANET, which may affect conditions at a local level. For example,devices in the MANET may communicate only with one device at a time.Therefore, devices have to schedule their communications withneighboring devices.

The present invention addresses this and other problems associated withthe prior art.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1A shows a typical arrangement of mobile ad-hoc network devices.

FIG. 1B shows a mobile ad-hoc network established among the mobilead-hoc network devices of FIG. 1A.

FIG. 2 shows a mobile device operable within the mobile ad-hoc networkof FIG. 1B, according to an embodiment of the invention.

FIG. 3A shows a timing diagram for synchronization of the mobile devicesin the mobile ad-hoc network of FIG. 1B before the introduction ofAaron's device, according to an embodiment of the invention.

FIG. 3B shows a timing diagram for synchronization of the mobile devicesin the mobile ad-hoc network of FIG. 1B after the introduction ofAaron's device, according to an embodiment of the invention.

FIG. 4 shows a timing diagram for data transfer between two mobiledevices in the mobile ad-hoc network of FIG. 1B, according to anembodiment of the invention.

FIG. 5 shows the mobile device of FIG. 2 including a synchronizationtable, according to an embodiment of the invention.

FIG. 6 shows the procedure used by the mobile device of FIG. 2 tosynchronize with other mobile devices in the mobile ad-hoc network ofFIG. 1B, according to an embodiment of the invention.

FIGS. 7A and 7B show the procedure used by the mobile device of FIG. 2to transfer data to another mobile device in the mobile ad-hoc networkof FIG. 1B, according to an embodiment of the invention.

DETAILED DESCRIPTION

Referring momentarily to FIG. 1B, the discussion below only refers tosub-network 198 consisting of users Aaron 110, Beth 125, David 135,Elizabeth 140, Frank 145, and Joshua 165. A person skilled in the artwill recognize how the embodiment of the invention may be extended tothe entire mobile ad-hoc network (MANET) 195 shown.

FIG. 2 shows a mobile device operable within the mobile ad-hoc network(MANET) of FIG. 1B, according to an embodiment of the invention. In FIG.2, mobile device 205 is used for communicating with other nearby mobiledevices. Although shown as a personal digital assistant (PDA), a personskilled in the art will recognize that mobile device 205 may be anydevice capable of interacting with nearby devices, typically in awireless manner. For example, mobile device 205 may be a cellulartelephone or notebook computer properly equipped to interact with nearbydevices. In fact, mobile device 205 need not be truly mobile: device 205might be a fixed access point (such as a desktop computer or kioskwithin the environment). But for purposes of the discussion below,device 205 will be considered to be mobile.

Mobile device 205 includes, among other components, receiver 210,transmitter 215, synchronization system 220, and memory 225. Receiver210 is used to receive communications from other nearby mobile devices.Transmitter 215 is used to transmit communications to other nearbymobile devices. Although in a preferred embodiment receiver 210 andtransmitter 215 are designed to operate wirelessly, a person skilled inthe art will recognize that receiver 210 and transmitter 215 may also bewire-based. Synchronization system 220 is to synchronize device 205 withother nearby devices. And memory 225 is used to store information of atemporary or semi-permanent nature within mobile device 205.

Synchronization system 220 includes three components. First isarbitrator 230. Arbitrator 230 is used to arbitrate the timing andmanner of synchronizing with other nearby devices. Second issynchronization table updater 235. Synchronization table updater 235updates the synchronization table (discussed below) with data asarbitrated by arbitrator 230. Finally, clock 240 is the internal clockof device 205, and is used to monitor the passage of time, as viewed bydevice 205.

In mobile device 205, memory 225 includes synchronization table 245.Synchronization table 245 stores information about the synchronizationbetween device 205 and other nearby devices. Specifically,synchronization table 245 stores device identifiers, the frequencieswith which device 205 communicates with other nearby devices, and thetiming interval at which device 205 checks with other nearby devices tosee if data is to be transferred.

Among the various operations managed by synchronization system 220 isthe entry and exit of devices within the range of device 205.Specifically, as devices enter and leave, the nearby devices with whichmobile device 205 may communicate varies. Synchronization system 220 isresponsible for determining changes in which devices are nearby andestablishing a communications protocol (using arbitrator 230) with newnearby devices.

FIG. 3A shows a timing diagram for synchronization of the mobile devicesin the mobile ad-hoc network of FIG. 1B before the introduction ofAaron's device, according to an embodiment of the invention. Time isrepresented horizontally. Similarly-hatched boxes in rows for twodifferent devices represent communication between the two devices. Forexample, boxes 305 and 310 show that Frank and Joshua are synchronizing.

Note that different pairs of devices may synchronize at the same time.For example, as shown by boxes 315 and 317 and boxes 320 and 322, Bethand David may synchronize at the same time as Elizabeth and Frank.

FIG. 3B shows a timing diagram for synchronization of the mobile devicesin the mobile ad-hoc network of FIG. 1B after the introduction ofAaron's device, according to an embodiment of the invention. Aaron hassynchronized with the other devices, as shown by row 325. Aaron hasagreed to frequencies and synchronization periods/intervals with Beth,Elizabeth, and Joshua, the devices within range of Aaron. For example,as shown by boxes 330 and 35, Aaron and Elizabeth have agreed tomutually-acceptable synchronization periods.

A few comments about synchronization periods are in order. First, thepairs of devices may arbitrate to any mutually-acceptable frequency,communications technology, and synchronization period. The frequency isthe particular channel in the electromagnetic spectrum at which thedevices communicate. The communications technology specifies how thefrequency is to be used for communication. And the synchronizationperiod identifies how frequently the devices synchronize with eachother. No limitations are placed on the arbitration at all. In the eventa proposed synchronization period collides (in frequency, communicationstechnology, or timing of synchronization) with another for one of thedevices, the pair may determine a different synchronization period.

As mentioned briefly above, the communications technology specifies howthe devices use the frequency for communication. There are manydifferent communications technologies that the devices may utilize. Forexample, the devices may agree to a frequency-hopping schedule, so thatthey change their frequency of communication every so often. Or thedevices may use chipping code, spreading the communications across arange of frequencies using a key. Without the key to identify the propersignals, the communication sounds like static. A person skilled in theart will recognize other communications technologies that may be used.

Note that it is possible for nearby pairs of devices to communicateusing the same frequency, provided the pairs of devices are capable ofdifferentiating the communications. For example, two adjacent pairs ofdevices may both use chipping code at the same frequency, if their keysallow them to adequately separate the communications.

Second, the interval between synchronization periods may vary. Dependingon the type of communication between the devices, either a low or highlatency may be desired. For example, if the mobile devices aretransmitting speech, low latency is desired, to avoid long breaks in thespoken output. On the other hand, if one of the mobile devices is asensor and the other mobile device is a system using the sensor to checka status, only an occasional update is needed, and high latency isacceptable.

Third, the length of the synchronization may vary. Propersynchronization may be more or less critical. By providing a longersynchronization period, a higher degree of certainty of synchronizationmay be achieved.

Fourth, different communication frequencies may be selected by the pairsof devices. If all devices had to use the same frequency, any signalimpinging from one pair of devices might cause destructive interferenceto nearby pairs of communicating devices. But if pairs of devices canagree to different frequencies and/or communication technologies, thedestructive interference from one pair of devices will not impair othernearby devices.

Fifth, note that synchronization periods may be dynamic. Specifically,based on changes in circumstances, a pair of devices may begin a newarbitration and determine a new synchronization period. For example,consider the sensor referred to above. If the value detected by thesensor goes out of range, the sensor may need to report its value morefrequently. The sensor may rearbitrate its synchronization period with aneighboring device, to allow for more frequent reports. A person skilledin the art will recognize that other components of the synchronizationperiod, such as frequency, communications technology, or interval, mayalso be changed as needed.

Sixth, a person skilled in the art will recognize that the duration ofthe synchronization period is typically as short as possible. Devicesengage in synchronization as quickly as possible, so as to spend as muchtime as possible actually transmitting network traffic, or to conservepower. Nevertheless, a person skilled in the art will recognize that theduration may also be negotiated, and can specifically be longer than theminimum needed.

Other factors may affect the arbitration of frequency, synchronizationperiod, and time interval. For example, traffic patterns, data urgency,quality of service requirements, battery condition, and device lifeexpectancy may affect the arbitration. A person skilled in the art mayrecognize other factors as well.

Note that during interactions for arbitration and synchronization, nomessage or application data is transmitted. Only arbitration andsynchronization data is transmitted at these times. Synchronization isused to make sure that the devices' clocks are correlated. (Note thatthe clocks do not have to use the same time periods, only that thedevices are aware of how to agree to a common time interval.) Data istransmitted at other times, specifically between scheduled events likesynchronization.

But before a device may transmit data, the device has to notify theintended recipient of the data about the communication. Thisnotification is done during the synchronization period. Thus, if adevice has data to transmit, the device waits until the synchronizationperiod with the intended recipient device. The device then informs theintended recipient that there is data to transfer. At the first timeinterval open to both devices, data is transmitted.

FIG. 4 shows a timing diagram for data transfer between two mobiledevices in the mobile ad-hoc network of FIG. 1B, according to anembodiment of the invention. In FIG. 4, Aaron has data to transmit toJoshua. During the synchronization period (boxes 402 and 403), Aaronnotifies Joshua of the data to transmit. Then, at the next time intervalwhen both devices are free, (boxes 405 and 410), Aaron transmits data toJoshua. After notifying Joshua of the data to transfer, both deviceswait for their first mutual free interval. In FIG. 4, both devices arefree immediately after their mutual synchronization period. So, as shownby boxed 405 and 410, Aaron begins to transfer data to Joshua.

Note that shortly after beginning transmission, Aaron is busysynchronizing with another mobile device (shown by box 415). During thistime, Aaron may not transfer data to Joshua (note that Joshua is idleduring this time interval). But once Aaron and Joshua are both freeagain, Aaron resumes transmitting data to Joshua (as shown by boxes 420and 425).

FIG. 5 shows the mobile device of FIG. 2, according to an embodiment ofthe invention. In FIG. 5, the details of synchronization table 505 areshown, assuming mobile device 205 belongs to Aaron. Each entry insynchronization table 505 represents communication with another device.Note that synchronization table includes four pieces of data: anidentifier for the device with which communication occurs, a frequencyupon which communication is to occur, a communications technology to usein communicating with the device, and a time interval at which thecommunication is to occur. Thus, entry 510 specifies the informationused to synchronize with Elizabeth, entry 515 specifies the informationused to synchronize with Frank, and entry 520 specifies the informationused to synchronize with Joshua.

Time interval may be specified in a number of ways: for example, duringeach synchronization period, the two devices may agree to the time atwhich they will next communicate, in which case the agreed time (interms of the local clock) is stored in synchronization table 505. Or,synchronization may occur at regular intervals, and the time intervalmay specify the time at which synchronization with that device firstoccurred (and modulo arithmetic may be used to determine the next timeof synchronization).

Note that in all of the above discussion, only a pair of devices isinvolved. The arbitration and synchronization of each pair of devicescreates a peer-to-peer relationship between pairs of devices. Thenetwork as a whole is an emergent property of the peer-to-peerrelationships between pairs of devices. For example, referring back toFIG. 1B, David 135 may not communicate directly with Frank 145. But ifDavid 135 has a message for Frank 145, David 135 uses thesynchronization period established between David 135 and Elizabeth 140to transmit the message to Elizabeth 140. Elizabeth 140, in turn, usesthe synchronization period established between Elizabeth 140 and Frank145 to transmit the message to Frank 145. In this manner, the network isestablished, using the peer-to-peer relationships.

FIG. 6 shows the procedure used by the mobile device of FIG. 2 tosynchronize with other mobile devices in the mobile ad-hoc network ofFIG. 1B, according to an embodiment of the invention. In FIG. 6, atblock 605, the device discovers a second device in range. At block 610,the devices communicate to discuss a synchronization period. Finally, atblock 615, the devices arbitrate a frequency and time interval to usefor synchronization.

FIGS. 7A and 7B show the procedure used by the mobile device of FIG. 2to transfer data to another mobile device in the mobile ad-hoc networkof FIG. 1B, according to an embodiment of the invention. In FIG. 7A, atblock 705, the device waits for the synchronization period with theintended recipient. At block 710, the devices synchronize. At block 715,the devices reset their local clocks. At decision point 720, the devicescheck to see if there is data to transmit to the other device. If thereis no data to transmit, the device returns to block 705 to wait for thenext synchronization period. (Typically, the device will be waiting tosynchronize with another device, but the device may resume transmittingdata to or receiving data from a third device, if the communication wasinterrupted to synchronize with the other device.)

If there is data to transmit, then at block 725 (FIG. 7B) the deviceinforms the other device of the data. At block 730, the devices wait fora mutually-free time interval. Finally, at block 735 the data istransmitted, and the device returns to block 705 to wait for anothersynchronization event.

If there is no data to transmit or receive, the device may power downeither partially (transceiver) or wholly (complete device) to reducepower consumption. The device would naturally power back up at theagreed-upon synchronization periods.

Having illustrated and described the principles of my invention in anembodiment thereof, it should be readily apparent to those skilled inthe art that the invention can be modified in arrangement and detailwithout departing from such principles. I claim all modifications comingwithin the spirit and scope of the accompanying claims.

1. A mobile communication device comprising: a synchronization systemable to synchronize with first and second mobile communication devicesto rout one or more messages from the first mobile communication deviceto the second mobile communication device by utilizing a firstcommunication technology to a first communication frequency agreed bythe first mobile communication device and by utilizing a secondcommunication technology to a second communication frequency agreed bythe second mobile communication device.
 2. The mobile communicationdevice according to claim 1, further comprising: a synchronization tablelisting synchronization information for the mobile communication device.3. The mobile communication device according to claim 2, wherein thesynchronization table includes a device identifier, a communicationsfrequency, a communications technology, and a time interval forresynchronization.
 4. The mobile communication device according to claim1, wherein the synchronization system includes an arbitrator to providethe first and second agreed communications frequencies, the first andsecond agreed communication technologies, and a time interval forcommunication.
 5. The mobile communication device according to claim 4,wherein the synchronization system further includes a synchronizationtable updater designed to update a synchronization table to reflect adevice identifier the communication frequency, the communicationtechnology and the time interval.
 6. A method for a first mobilecommunication device to communicate with second and third mobilecommunication devices in an ad-hoc network including at least the firstmobile communication device, the second mobile communication device andthe third mobile communication device, comprising: discovering thesecond mobile communication device; determining a synchronization periodwith the second mobile communication device; synchronizing with thesecond device by utilizing an agreed communication technology to anagreed communication frequency independently of the third device; androuting messages from the third mobile communication device to thesecond mobile communication device.
 7. A method according to claim 6,further comprising: discovering the third device; determining asynchronization period with the third mobile communication device; andsynchronizing with the third mobile communication device independentlyof the second mobile communication device.
 8. A method according toclaim 7, further comprising: discovering the third mobile communicationdevice by the second mobile communication device; determining asynchronization period between the second mobile communication deviceand the third mobile communication device; and synchronizing the secondmobile communication device with the third mobile communication deviceindependently of the first mobile communication device.
 9. A methodaccording to claim 6, wherein discovering a second mobile communicationdevice includes discovering the second mobile communication devicewithin range of the first mobile communication device.
 10. A methodaccording to claim 6, wherein determining a synchronization periodincludes arbitrating a time interval between synchronizations.
 11. Amethod according to claim 10, further comprising re-synchronizing withthe second mobile communication device after the time interval.
 12. Amethod according to claim 6, wherein determining the synchronizationperiod includes arbitrating a frequency for communicating between thefirst mobile communication device and the second mobile communicationdevice to provide the agreed communication frequency.
 13. A methodaccording to claim 6, wherein determining the synchronization periodincludes arbitrating a communication technology for communicatingbetween the first mobile communication device and the second mobilecommunication device to provide the agreed communication technology. 14.A method according to claim 6, wherein synchronizing with the secondmobile communication device includes resetting a clock in the firstdevice.
 15. A method according to claim 6, wherein synchronizing withthe second mobile communication device includes informing the secondmobile communication device that the first mobile communication devicehas data to transmit.
 16. A method according to claim 14, furthercomprising: arbitrating a time to transmit the data to the second mobilecommunication device; and transmitting the data to the second mobilecommunication device at the arbitrated time.
 17. A method according toclaim 6, further comprising determining a new synchronization periodwith the second mobile communication device.
 18. A method according toclaim 17, wherein determining a new synchronization period includesdetermining at least one of a new frequency, a new communicationstechnology, and a new time interval.
 19. An article comprising: astorage medium said storage medium having stored thereon instructionsthat, when executed by a first device in a network including at leastthe first device, a second device, and a third device, result in:discovering the second device; determining a synchronization period withthe second device; synchronizing with the second device by utilizing anagreed communication technology to an agreed communication frequencyindependently of the third device; and routing messages from the thirdcommunication device to the second device.
 20. An article according toclaim 19, further comprising: discovering the third device; determininga synchronization period with the third device; and synchronizing withthe third device independently of the second device.
 21. An articleaccording to claim 19, further comprising: discovering the third deviceby the second device; determining a synchronization period between thesecond device and the third device; and synchronizing the second devicewith the third device independently of the first device.
 22. An articleaccording to claim 19, wherein discovering a second device includesdiscovering a second device within range of the first device.
 23. Anarticle according to claim 19, wherein the storage medium has furtherstored thereon instructions, that, when executed by the first device,result in determining a synchronization period includes arbitrating atime interval between synchronizations.
 24. An article according toclaim 23, further comprising re-synchronizing with the second deviceafter the time interval.
 25. An article according to claim 19, whereindetermining the synchronization period includes arbitrating a frequencyfor communicating between the first device and the second device toprovide the agreed communication frequency.
 26. An article according toclaim 19, wherein determining the synchronization period includesarbitrating a communication technology for communicating between thefirst device and the second device to provide the agreed communicationtechnology.
 27. An article according to claim 19, wherein synchronizingwith the second device includes resetting a clock in the first device.28. An article according to claim 19, wherein synchronizing with thesecond device includes informing the second device that the first devicehas data to transmit.
 29. An article according to claim 28, wherein thestorage medium has further stored thereon instructions, that, whenexecuted by the first device, result in: arbitrating a time to transmitthe data to the second device; and transmitting the data to the seconddevice at the arbitrated time.
 30. An article according to claim 19,wherein the storage medium has further stored thereon instructions,that, when executed by the first device, result in determining a newsynchronization period with the second device.
 31. An article accordingto claim 30, wherein determining a new synchronization period includesdetermining at least one of a new frequency, a new communicationstechnology, and a new time interval.